package com.ray.depot.service;

import java.util.List;

import com.ray.depot.table.dto.StockChangeDto;
import com.ray.depot.table.entity.StockChange;
import com.zjhc.flyhong.common.function.operator.LoginUser;
import com.zjhc.flyhong.common.function.operator.PageDto;
import com.zjhc.flyhong.common.web.Result;

public interface StockChangeService {

	/**
	 * 新增
	 * @param params
	 * @param user
	 * @return
	 */
	Result<Object> addStockChange(StockChange params, LoginUser user);
	
    /**
     * 查询
     * @param id
     * @param user
     * @return
     */
	StockChange queryStockChange(String id, LoginUser user);
	
    /**
     * 修改
     * @param params
     * @param user
     * @return
     */
	Result<Object> updateStockChange(StockChange params, LoginUser user);
	
    /**
     * 删除
     * @param id
     * @param user
     * @return
     */
	Result<Object> deleteStockChange(String id, LoginUser user);
	
   /**
    * 查询
    * @param params
    * @param page
    * @param user
    * @return
    */
	PageDto<StockChange> queryStockChange(StockChange params, PageDto<StockChange> page, LoginUser user);
    /**
     * 根据出库人单号删除
     * @param StockChangeNo
     * @param user
     */
    void deleteStockChangeByNo(String StockChangeNo, LoginUser user);
    
    /**
     * 分页查询
     * @param params
     * @param page
     * @param user
     * @return
     */
    PageDto<StockChangeDto> querySelectStockChange(StockChangeDto params, PageDto<StockChangeDto> page, LoginUser user);
    /**
     * 通过出入库单号获取物料
     * @param StockChangeNo
     * @param user
     * @return
     */
	List<StockChange> queryStockChangesByStockChangeNo(String StockChangeNo, LoginUser user);
}
